#include <iostream>
#include "image2d_ptr.h"

int main()
{
    {
        Image2D::Image2D_Ptr image2d(3840, 2160, Image2D::ImageFormat::IMAGE_NV12, Image2D::ImageType::IMAGE_UNSIGNED_CHAR);

        std::cout << "image2d.data(0):    " << image2d.data(0) << std::endl;
        std::cout << "image2d.data(1):    " << image2d.data(1) << std::endl;
        std::cout << "image2d.data(2):    " << image2d.data(2) << std::endl;
        std::cout << "image2d.data(3):    " << image2d.data(3) << std::endl;

        std::cout << "image2d.linesize(0):    " << image2d.linesize(0) << std::endl;
        std::cout << "image2d.linesize(1):    " << image2d.linesize(1) << std::endl;
        std::cout << "image2d.linesize(2):    " << image2d.linesize(2) << std::endl;
        std::cout << "image2d.linesize(3):    " << image2d.linesize(3) << std::endl;

        std::cout << "image2d.width():     " << image2d.width() << std::endl;
        std::cout << "image2d.height():    " << image2d.height() << std::endl;
        std::cout << "image2d.format():    " << (int)(image2d.format()) << std::endl;
        std::cout << "image2d.type():      " << (int)(image2d.type()) << std::endl;

        Image2D::Image2D_Ptr image2d0 = image2d;
    }

    return 0;
}